题目链接
题解
结论与结论的证明参考了rqy的博客
计算$d(ij)$时,把ij的每个约数d映射到$(a=gcd(d,i),b=(gcd(d,i),\frac{d}{gcd(d, i)})$
可知$a,b$分别是$i,j$的因数,且$(a,b)$对应一个因数当且仅当$gcd(\frac ia, b) = 1$,所以
有了这个式子之后
用$f(x)=\sum_{i=1}^{x}\lfloor\frac{x}{i}\rfloor$表示1-x的约数个数和
预处理$\mu(n)$前缀和
对于$f$我们可以$O(n\sqrt n)$预处理,查询为$O(\sqrt n)$
代码
|
|